package dto;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class Account implements java.io.Serializable {
	private static final long serialVersionUID = 3786174460162641813L;

	private Integer id;
	private String username;
	private String email;
	private String password;
	private String statusMsg;
	private Status status;
	private Boolean gender;
	private String country;
	private Set<Message> offlineMessages = new HashSet<Message>(0);
	private Set<Account> contactList = new HashSet<Account>(0);

	public Account() {
	}

	public Account(String username, String email, String password) {
		this.username = username;
		this.email = email;
		this.password = password;
	}

	public Account(String username, String email, String password,
			String statusMsg, Boolean gender, String country,
			Set<Message> offlineMessages, Set<Account> contactList) {
		this.username = username;
		this.email = email;
		this.password = password;
		this.statusMsg = statusMsg;
		this.gender = gender;
		this.country = country;
		this.offlineMessages = offlineMessages;
		this.contactList = contactList;
	}

	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getUsername() {
		return this.username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getEmail() {
		return this.email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getPassword() {
		return this.password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getStatusMsg() {
		return this.statusMsg;
	}

	public void setStatusMsg(String statusMsg) {
		this.statusMsg = statusMsg;
	}

	public Boolean getGender() {
		return this.gender;
	}

	public void setGender(Boolean gender) {
		this.gender = gender;
	}

	public String getCountry() {
		return this.country;
	}

	public void setCountry(String country) {
		this.country = country;
	}

	public Iterator<Message> getOfflineMessages() {
		return offlineMessages.iterator();
	}

	public void setOfflineMessages(Set<Message> offlineMessages) {
		this.offlineMessages = offlineMessages;
	}

	public Iterator<Account> getContactList() {
		return contactList.iterator();
	}

	public void setContactList(Set<Account> contactList) {
		this.contactList = contactList;
	}
	
	public Status getStatus() {
		return status;
	}
	
	public void setStatus(Status status) {
		this.status = status;
	}

}
